package 比较;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class HashMapTest {
    public static void main(String[] args) {
//        Map<String, Integer> map = new HashMap<>();
//        map.put("apple", 1);
//        map.put("banana", 2);
//        map.put("orange", 3);
//        map.put("apple", 4);
//        //遍历
//        System.out.println(map);
//        Set<Map.Entry<String, Integer>> entries = map.entrySet();
//        for (Map.Entry<String, Integer> entry : entries) {
//            if (entry.getValue() == 1) {
//                map.remove(entry.getKey());
//            }
//        }
//        HashMap<Integer, String> map = new HashMap<Integer, String>();
//        map.put(1, "one");
//        map.put(2, "two");
//        map.put(3, "three");
//        System.out.println(map);
//        Set<Map.Entry<Integer, String>> entries = map.entrySet();
//        for(Map.Entry<Integer, String> entry : entries){
//            if(entry.getKey() == 2){
//                map.remove(entry.getKey());//ConcurrentModificationException
//            }
//        }
//        System.out.println(map);

        HashMap<Integer, String> map = new HashMap<Integer, String>();
        map.put(1, "one");
        map.put(2, "two");
        map.put(3, "three");
        System.out.println(map);
        Iterator<Map.Entry<Integer, String>> it = map.entrySet().iterator();
        while(it.hasNext()){
            Map.Entry<Integer, String> entry = it.next();
            if(entry.getKey() == 2)
                it.remove();//使用迭代器的remove()方法删除元素
        }
        System.out.println(map);
    }
}
